1. Field of the Invention
The invention generally relates to a file system for a file server and, more particularly, relates to a file system for a file server of a video-on-demand system.
2. Description of the Background Art
In a video-on-demand (VOD) system such as a VOD system manufactured by DIVA Systems Corporation, a file server is used for streaming video information to users (subscribers) of the system. This system is described in U.S. Pat. No. 6,253,375, and the file server is described in U.S. Pat. Nos. 5,671,377 and 5,581,778. This system contains service provider equipment coupled through an information distribution network to subscriber equipment. This system provides subscribers VCR-like controls to enable a subscriber to select information content, for example, a movie, then play, fast forward, rewind, pause, or stop the selected movie. The subscriber enters control commands through the subscriber equipment and the service provider equipment executes the commands to fulfill the purpose of the command, e.g., play, fast forward, reverse play, stop or pause the movie.
The file server forms a portion of the service provider equipment and stores, for a given movie, a standard play track (i.e., an MPEG-2 compressed video bitstream), a fast forward track and a reverse play track. For a pleasing user presentation, the fast forward and reverse play tracks are also MPEG-2 compressed video, where the fast forward track is a compressed signal containing only every Nth frame of the uncompressed play video and the reverse play track is a compressed signal containing every Nth frame of the uncompressed play video played backwards. For optimal access bandwidths, the video information, each track is segmented into extents (e.g., N-bytes of compressed data) and stored onto sequential disk drives on the server in a process known as striping.
Each track forms a separate file within the directory structure of the file server. As such, when a subscriber selects a particular movie to view, the file server scans its directory structure to find the location of the movie and begins sending (streaming) the movie to the subscriber. Streaming of the video bitstream is accomplished by sequentially recalling each extent (N-byte segment) of the compressed movie from the disk array in the order that the movie was stored. If the subscriber selects fast forward mode, since the fast forward track is stored as a separate file, the directory must obtain information as to the beginning location of the fast forward file within the disk array and, using the duration of the movie that has played thus far, compute an offset to the relative position in the fast forward stream. Using the relative position, the directory can identify the portion of the fast forward stream to begin retrieving to provide a fast forward “look and feel” to the subscriber. A similar process is performed every time the reverse play mode is entered.
When a user transitions from one file to another, a substantial amount of processing is required that causes extended latency before the new file is properly accessed and transmitted to a user. The latency between the time a user requests a particular file and when the file is accessed at the correct location within the file can have a long duration. Such extensive latency detracts from the VCR-like “look and feel” of the system's operation.
Within the VOD system, the majority of the movies are stored in a secondary storage that has a relatively slow access time. To allow immediate access to movies stored on the secondary storage, an initial portion of a movie (known as a leader track) is stored on the disk array of the VOD system. When a movie is requested by a user, the leader track is played while a copy of the movie is retrieved from secondary storage. However, having each track stored as a separate file for a particular movie does not permit “leader tracks” to be used that would include fast forward or rewind functionality. As such, the leader tracks that are stored on the server and played to a user while the server retrieves the entire file from mass storage, generally only provide a play function. As such, until the full file is retrieved and stored, the user may only play the movie. Consequently, fast forwarding through, for example, the credits is not permitted.
Therefore, there is a need in the art for an improved file system for a video-on-demand system to simplify the file structure and the data retrieval process.